var readline = require('readline-sync')
readline.setDefaultOptions({ prompt: '' })
var readline = readline.prompt
let [n, m] = readline().split(' ').map((item) => parseInt(item)) // 读出n和m
let arr = readline().split(' ').map((item) => parseInt(item)) // 读出数组
let max = Math.max(...arr) // 求出最大值

let flag = true
let res = true
let mb = m
while (res) {
  let MaxIndex = arr.indexOf(max) // 得出最大的下标
  flag === true ? arr[MaxIndex] = 'A' : arr[MaxIndex] = 'B'
  let left = MaxIndex
  let right = MaxIndex
  while (m > 0) {
    if (flag) { // 如果是true 就变为A
      if (left > 0) { // 如果左边大于0
        while (left - 1 >= 0 && arr[left - 1] === 'A' || arr[left - 1] === 'B') { // 没越界 并且是已经弄好了
          left--
        }
        arr[left - 1] = 'A' // 左边的就是A
        left--
      }
      if (right < arr.length - 1) {
        while (right + 1 < arr.length && arr[right + 1] == 'A' || arr[right + 1] == 'B') {
          right++
        }
        arr[right + 1] = 'A' // 右边的就是A
        right++
      }
      m-- // 个数--
    } else if (flag === false) {
      if (left > 0) {
        while (left - 1 >= 0 && arr[left - 1] === 'A' || arr[left - 1] === 'B') { // 没越界 并且是已经弄好了
          left--
        }
        arr[left - 1] = 'B'
        left--
      }
      if (right < arr.length - 1) {
        while (right + 1 < arr.length && arr[right + 1] == 'A' || arr[right + 1] == 'B') {
          right++
        }
        arr[right + 1] = 'B'
        right++
      }
      m--
    }

    if (m == 0) {
      flag = !flag
    }
  }
  m = mb
  res = arr.some((item) => {
    return item !== 'A' && item !== 'B'
  })
}
console.log(arr)
